/*
 * Equipo creador por Hector Adrian Valdecantos
 * emai: hvaldecantos@gmail.com
 * 30 de Mayo del 2009
 */

package org.javahispano.javacup.tacticas_aceptadas.hector.equipohectorvaldecantos;

import java.util.LinkedList;
import java.util.List;
import org.javahispano.javacup.modelo.*;

public class MiEquipo implements Tactica {
	MiEquipoDetalle detalle = new MiEquipoDetalle();

	double sep = Constantes.ANCHO_CAMPO_JUEGO / 9;
	double ini = -Constantes.ANCHO_CAMPO_JUEGO / 2;
	
	Posicion alineacion[] = new Posicion[] { new Posicion(0, -52.5), new Posicion(ini + sep * 0, -17), new Posicion(ini + sep * 1, -17),
			new Posicion(ini + sep * 2, -17), new Posicion(ini + sep * 3, -17), new Posicion(ini + sep * 4, -17),
			new Posicion(ini + sep * 5, -17), new Posicion(ini + sep * 6, -17), new Posicion(ini + sep * 7, -17),
			new Posicion(ini + sep * 8, -17), new Posicion(ini + sep * 9, -17) };

	Posicion alineacionSacando[] = new Posicion[] { new Posicion(0.2595419847328244, -50.41044776119403),
			new Posicion(-11.16030534351145, -35.78358208955224), new Posicion(12.717557251908397, -35.26119402985075),
			new Posicion(28.290076335877863, -28.470149253731343), new Posicion(-28.290076335877863, -28.470149253731343),
			new Posicion(14.793893129770993, -18.544776119402986), new Posicion(-17.389312977099234, -19.58955223880597),
			new Posicion(-23.618320610687025, -0.7835820895522387), new Posicion(5.969465648854961, -5.485074626865671),
			new Posicion(0.2595419847328244, -0.26119402985074625), new Posicion(22.580152671755727, -1.3059701492537314) };
	
	Posicion alineacionReciviendo[] = new Posicion[] { new Posicion(0.2595419847328244, -50.41044776119403),
			new Posicion(-11.16030534351145, -35.78358208955224), new Posicion(12.717557251908397, -35.26119402985075),
			new Posicion(28.290076335877863, -28.470149253731343), new Posicion(-28.290076335877863, -28.470149253731343),
			new Posicion(14.793893129770993, -18.544776119402986), new Posicion(-17.389312977099234, -19.58955223880597),
			new Posicion(-23.618320610687025, -0.7835820895522387), new Posicion(6.4885496183206115, -6.529850746268657),
			new Posicion(-6.4885496183206115, -6.529850746268657), new Posicion(22.580152671755727, -1.3059701492537314) };

	
	LinkedList<Comando> comandos = new LinkedList<Comando>();
	boolean remato = false;

	RecolectorDeComandos rc;
	
	@Override
	public List<Comando> ejecutar(SituacionPartido sp) {
		//Inicializa mis clases
		if (sp.iteracion() == 0) {
			rc = new RecolectorDeComandos(sp,comandos);
		}
		rc.actualizarDatos();
		return rc.getComandos();
	}
	
	@Override
	public TacticaDetalle getDetalle() {
		return detalle;
	}

	@Override
	public Posicion[] getPosicionRecive(SituacionPartido sp) {
		return alineacionReciviendo;
	}

	@Override
	public Posicion[] getPosicionSaca(SituacionPartido sp) {
		return alineacionSacando;
	}

}
